package sevensoft.行为型模式.观察者模式;
import java.util.ArrayList;
import java.util.List;
/**
 * 具体主题角色
 */
public class SubSubject implements Subject {

    private final List<sevensoft.行为型模式.观察者模式.Observer> userList = new ArrayList<>();

    /**
     * 添加观察者
     *
     * @param observer
     */
    @Override
    public void attach(sevensoft.行为型模式.观察者模式.Observer observer) {
        userList.add(observer);
    }

    /**
     * 删除观察者
     *
     * @param observer
     */
    @Override
    public void detach(Observer observer) {
        userList.remove(observer);
    }

    /**
     * 通知
     *
     * @param msg
     */
    @Override
    public void notify(String msg) {
        userList.forEach(e -> e.update(msg));
    }
}
